草庐IT

JavaScript 日期对象英国日期

全部标签

ruby - 有没有办法通过散列来初始化对象?

如果我有这个类:classAattr_accessor:b,:c,:dend和这段代码:a=A.newh={"b"=>10,"c"=>20,"d"=>30}是否可以直接从散列初始化对象,而不需要遍历每一对并调用instance_variable_set?像这样的东西:a=A.new(h)这应该会导致每个实例变量被初始化为在散列中具有相同名称的变量。 最佳答案 你可以在你的类上定义一个初始化函数:classAattr_accessor:b,:c,:ddefinitialize(h)h.each{|k,v|public_send("#{

ruby - RSpec 模拟对象示例

我是模拟对象的新手,我正在尝试学习如何在RSpec中使用它们。有人可以发布有关如何使用RSpec模拟对象API的示例(helloRSpecMock对象世界类型示例)或链接(或任何其他引用)吗? 最佳答案 这是我为Rails应用程序中的Controller测试所做的简单模拟示例:before(:each)do@page=mock_model(Page)@page.stub!(:path)@page.stub!(:find_by_id)@page_type=mock_model(PageType)@page_type.stub!(:na

Ruby:将 Date 和 Time 对象组合成 DateTime

简单的问题,但我找不到好的或明确的答案。将Ruby日期和时间对象(对象,而不是字符串)组合成单个DateTime对象的最佳和最有效的方法是什么? 最佳答案 我找到了这个,但它并不像你希望的那样优雅:d=Date.new(2012,8,29)t=Time.nowdt=DateTime.new(d.year,d.month,d.day,t.hour,t.min,t.sec,t.zone)顺便说一句,rubyTime对象还存储年、月和日,因此您在创建DateTime时会丢弃它。 关于Ruby:

Ruby:将 unix 时间戳转换为日期

这个问题在这里已经有了答案:Howtoconvertaunixtimestamp(secondssinceepoch)toRubyDateTime?(6个答案)关闭6年前。irb>dt=Time.now.utc=>2012-04-2610:47:01UTCirb>dti=dt.to_i=>1335437221现在,如何将dti转换回日期/时间?

ruby-on-rails - 如何在 Rails 中验证今天之后的日期?

我有一个包含属性的ActiveRecord模型:expiry_date。我如何着手验证它,使其在今天之后(当时的当前日期)?我是Rails和ruby​​的新手,我找不到能准确回答这个问题的类似问题?我正在使用Rails3.1.3和ruby​​1.8.7 最佳答案 您的问题(几乎)得到了准确回答intheRailsguides.这是他们提供的示例代码。此类验证日期是否在过去,而您的问题是如何验证日期是否在future,但调整它应该很容易:classInvoice 关于ruby-on-rai

ruby - 发现 Ruby 对象成员?

找出ruby​​对象公开哪些方法/属性的简单方法是什么?以获取字符串的成员信息为例,在PowerShell中,你可以做""|get-member在Python中,dir("")有没有这么简单的方法来发现Ruby对象的成员信息? 最佳答案 "foo".methods参见:http://ruby-doc.org/core/classes/Object.htmlhttp://ruby-doc.org/core/classes/Class.htmlhttp://ruby-doc.org/core/classes/Module.html

ruby-on-rails - 在 Ruby 中减去日期并得到以分钟为单位的差异

我如何在Ruby中减去两个不同的UTC日期,然后得到以分钟为单位的差异?谢谢 最佳答案 如果减去两个Date或DateTime对象,结果是一个Rational表示它们之间的天数。你需要的是:a=Date.new(2009,10,13)-Date.new(2009,10,11)(a*24*60).to_i#2880minutes或a=DateTime.new(2009,10,13,12,0,0)-DateTime.new(2009,10,11,0,0,0)(a*24*60).to_i#3600minutes

Ruby 对象作为指针打印出来

我正在尝试创建一个类,它有一个接受单个参数的构造函数。当我创建对象的新实例时,它返回一个指针。classAdderdefinitialize(my_num)@my_num=my_numendendy=Adder.new(12)putsy我做错了什么?谢谢 最佳答案 当您使用new方法时,您会获得新创建对象的“引用”。puts内核方法返回有关此对象的一些内部ruby​​信息。如果你想获得关于状态你的对象的任何信息,你可以使用getter方法:classAdderdefinitialize(my_num)@my_num=my_numen

ruby - 如何将 'each' 方法添加到 Ruby 对象(或者我应该扩展数组)?

我有一个对象Results,它包含一个result对象数组以及一些关于数组中对象的缓存统计信息。我希望Results对象能够表现得像一个数组。我的第一个切入点是添加这样的方法def这感觉非常像C,我知道Ruby有更好的方法。我也希望能够做到这一点Results.eachdo|result|result.do_stuffend但我不确定each方法到底在做什么。目前我只是通过一个方法返回底层数组并调用它的每个,这似乎不是最优雅的解决方案。如有任何帮助,我们将不胜感激。 最佳答案 对于实现类数组方法的一般情况,是的,您必须自己实现它们。

ruby - 动态地向 Ruby 对象添加属性

我创建了一个对象,我想根据某些条件检查向该对象添加一些属性。我怎样才能做到这一点?解释我想要什么:A=Object.newif(somethinghappens){#makeAhaveanotherattibutesayage#&storesomethinginA.age} 最佳答案 首先,关于ruby​​的事情是它允许一种不同的语法,这种语法被ruby​​编码人员广泛使用。大写的标识符是类或常量(感谢sepp2k的评论),但您尝试使其成为一个对象。而且几乎没有人使用{}来标记多行block。a=Object.newif(somet